﻿using KayakMes.Common;
using KayakMes.Common.Dtos.ProcessDTO.Input;
using KayakMes.Common.Dtos.ProcessDTO.Output;
using KayakMes.Common.Result;
using KayakMes.ProcessStepUp.Domain.Model;

namespace KayakMes.ProcessManagement.Application.Process
{
    public interface IProcessStepUpService
    {
        /// <summary>
        /// 新增工序设置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> Add(ProcessStepUpInput input);
        /// <summary>
        /// 获取工序设置信息列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiPaging<ProcessStepUpOutput> GetProcessStepUpList(GetProcessStepUpInput input);
        /// <summary>
        /// 根据Id获取对应工序设置信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ApiResult<ProcessStepUpOutput> FindProcessStepUp(long id);
        
        /// <summary>
        /// 根据Id删除工序设置信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ApiResult<int> DeleteProcessStepUp(long id);

        /// <summary>
        /// 修改工序设置信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> UpdateProcessStepUp(ProcessStepUpOutput output);
    }
}
